home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1993 July / InfoMagic USENET CD-ROM July 1993.ISO / sources / unix / volume16 / pcomm2 / part02 < prev    next >
Encoding:
Internet Message Format  |  1988-09-14  |  53.0 KB

  1. Path: bbn.com!rsalz
  2. From: rsalz@uunet.uu.net (Rich Salz)
  3. Newsgroups: comp.sources.unix
  4. Subject: v16i007:  Modem communications package, Part02/08
  5. Message-ID: <1059@fig.bbn.com>
  6. Date: 13 Sep 88 16:41:01 GMT
  7. Lines: 1709
  8. Approved: rsalz@uunet.UU.NET
  9.  
  10. Submitted-by: Emmet P Gray <fthood!egray>
  11. Posting-number: Volume 16, Issue 7
  12. Archive-name: pcomm2/part03
  13.  
  14. #! /bin/sh
  15. # This is a shell archive, meaning:
  16. # 1. Remove everything above the #! /bin/sh line.
  17. # 2. Save the resulting text in a file.
  18. # 3. Execute the file with /bin/sh (not csh) to create:
  19. #    Readme
  20. #    Release.notes
  21. #    Makefile
  22. #    Pcomm.1
  23. #    Pcomm.dial_dir
  24. #    Pcomm.modem
  25. #    Pcomm.param
  26. #    Unixpc.shar
  27. #    config.h
  28. #    dial_dir.h
  29. #    misc.h
  30. #    modem.h
  31. #    param.h
  32. #    status.h
  33. #    vcs.h
  34. #    xmodem.h
  35. export PATH; PATH=/bin:/usr/bin:$PATH
  36. echo shar: "extracting 'Readme'" '(6391 characters)'
  37. if test -f 'Readme'
  38. then
  39.     echo shar: "will not over-write existing file 'Readme'"
  40. else
  41. sed 's/^X//' << \SHAR_EOF > 'Readme'
  42. X
  43. X                  Pcomm
  44. X              A Unix Telecommunication Program
  45. X
  46. XThings to do first:
  47. X
  48. X    1) Figure out what files you need to extract.  There is a shell
  49. X    archive called "Unixpc.shar" that contains additional (and
  50. X    replacement) files for users of the AT&T Unix PC 7300/3b1.
  51. X
  52. X    2) Create a default directory where the Pcomm support files will
  53. X    go.  A good location might be /usr/local/lib/pcomm.
  54. X
  55. X    3) Copy the sample support files Pcomm.dial_dir, Pcomm.modem,
  56. X    and Pcomm.param to the default directory and rename them to
  57. X    change the uppercase "P" to a lower case "p".  The files should
  58. X    *not* have write permission to all.
  59. X
  60. X    4) Copy (and rename as appropriate) the Pcomm.1 nroff manual to
  61. X    the proper /usr/man directory.
  62. X
  63. X    5) Print the Doc file by piping the output of the Unix "pr"
  64. X    command with the title separated by lots of white space (to help
  65. X    center it), for example:
  66. X
  67. X    pr -h "           Pcomm Reference Manual            " Doc | lp
  68. X
  69. XHow to configure Pcomm:
  70. X
  71. X    1) Edit the "config.h" file to suit your system's needs and your
  72. X    personal taste.  Sites running HoneyDanBer (HDB) UUCP should pay
  73. X    particular attention to the LOCK_DIR, ASCII_PID, and SETUGID
  74. X    definitions.  The definitions in config.h are:
  75. X
  76. X    UNIXPC        If defined, use the dial(3) routines specific
  77. X            to the AT&T Unix PC 7300/3b1.  Useful only if
  78. X            the On Board Modem (OBM) is to be used.
  79. X
  80. X    OLDCURSES    If defined, use the older version of curses(3).
  81. X            (uses termcap in lieu of terminfo).  Some
  82. X            versions of the AT&T Unix PC 7300/3b1 may
  83. X            require this.
  84. X
  85. X    SHAREDMEM    If defined, keeps the virtual screen area in
  86. X            shared memory rather than in a file.  Some
  87. X            performance gains are realized if shared memory
  88. X            is used.
  89. X
  90. X    NOPROMOTE    If defined, do not promote missing video
  91. X            attributes to standout.  Normally, curses(3)
  92. X            attempts to compensate for missing attributes.
  93. X
  94. X    SETUGID        If defined, extra precautions are taken before
  95. X            opening files or doing a shell escape to restore
  96. X            the real UID/GID.  Useful if Pcomm is installed
  97. X            as a set-user-id or get-group-id program.  HDB
  98. X            programs often are set-user-id to uucp.
  99. X
  100. X    LOG_CALLS    If defined, Pcomm will keep an administrative log
  101. X            of all calls.  The log contains the name of the
  102. X            person making the call, the phone number, and a
  103. X            date/time stamp.  Useful for verifying long
  104. X            distance phone bills.
  105. X
  106. X    LOGFILE        The path to the log file (if LOG_CALLS is
  107. X            defined).  It should have write permission to
  108. X            all or be writeable under set-user/group-id
  109. X            conditions.
  110. X
  111. X    LIMIT_LD    If defined, Pcomm will limit long distance
  112. X            (toll) calls to a privileged group.  The file
  113. X            "admin.c" may require tweeking to detect what is
  114. X            a long distance number.
  115. X
  116. X    GROUP_NAME    The name of the group that is allowed to make
  117. X            long distance calls (if LIMIT_LD is defined).
  118. X
  119. X    LPR        The path to the line printer program (this is
  120. X            not the name of the device).
  121. X
  122. X    LPRINT        The path to the "pretty" line printer program.
  123. X            Typically a program that performs a "pr | lp"
  124. X            function.  If none exist, use the same as LPR.
  125. X
  126. X    DEFAULT_DIR    The path to the directory that contains the
  127. X            default Pcomm support files.
  128. X
  129. X    LOCK_DIR    The path to the directory where the UUCP lock
  130. X            files are found.  On HDB systems this would
  131. X            typically be /usr/spool/locks.
  132. X
  133. X    ASCII_PID    If defined, the lock files will contain an ASCII
  134. X            encoded process id (PID).  On HDB systems this
  135. X            is the default.
  136. X
  137. X    KEEP_PORT    If defined, the port will be kept open between
  138. X            dialing attempts to save time.  Some systems
  139. X            may require the modem to be closed and reopened
  140. X            every time.
  141. X
  142. X    XMC_BROKE    Does the status line scroll up when using "magic
  143. X            cookie" terminals?  Some Pyramid and AT&T
  144. X            systems may require this to be defined.  Find a
  145. X            magic cookie terminal (a Wyse 50 for example),
  146. X            and see what happens.
  147. X
  148. X    WGETCH_BROKE    Does the alarm() system call work correctly with
  149. X            the wgetch() function?  Some Masscomp systems
  150. X            will require this to be defined.  Symptom: the
  151. X            initial screen doesn't go away by itself after 5
  152. X            seconds.
  153. X
  154. X    2) Edit the Makefile.  There are provisions in the Makefile to
  155. X    include getcwd() and getopt() routines if they are missing from
  156. X    your system.  You may want to customize the CFLAGS, LDFLAGS, and
  157. X    BIN assignments to suit your needs.
  158. X
  159. X    3) Compile pcomm and pcomm_input.  Type "make".  The Makefile
  160. X    will attempt to install "pcomm" and "pcomm_input" into the BIN
  161. X    directory given in the Makefile.  However, those sites running
  162. X    HDB UUCP software may require you to change the mode of "pcomm"
  163. X    to be set-user-id to uucp.  DO NOT CHANGE THE SET-UID/GID BITS
  164. X    ON THE "pcomm_input" PROGRAM.
  165. X
  166. X    4) Update the sample modem/TTY database.  I know I'm asking the
  167. X    impossible, but...  Read section 3 and the Appendices of the Doc
  168. X    file first, then run Pcomm to update the modem/TTY database by
  169. X    using the TTY Setup and the Modem Setup menues.  You will need
  170. X    to know:
  171. X
  172. X        o The types and number of modems available for dial out
  173. X        o The TTY ports attached to the modems
  174. X        o The range of baud rates at which the modems operate
  175. X        o How to initialize the modems to suit Pcomm's needs
  176. X        o How to make the modems dial
  177. X
  178. X    During this step, you will need write permission on the support
  179. X    files in the default directory.  RESIST THE TEMPTATION TO EDIT
  180. X    THE SUPPORT FILES DIRECTLY.
  181. X
  182. XPortability considerations:
  183. X
  184. X    1) This program was written with AT&T System V in mind.  It
  185. X    makes use of System V specific routines such as shared memory
  186. X    and the ioctl() calls of termio(7).  There is currently no
  187. X    port to Berkeley or v7 Unix.
  188. X
  189. X    2) Pcomm makes use of the bold, blinking and standout video
  190. X    attributes.  My concept of "standout" and "reverse" might be
  191. X    different than yours (I like "standout" to be a brighter version
  192. X    of "reverse").  Check your terminfo database...
  193. X
  194. X    3) The "port.c" file has a place where you can include your own
  195. X    routine to toggle the getty process on a port (if required).
  196. X
  197. X    4) If you compile Pcomm with LOG_CALLS defined, you'll have to
  198. X    look at the code in "admin.c" to see if the long distance
  199. X    detection routine is correct for your site.
  200. X
  201. X    5) Compilers that adhere to the draft ANSI C Standard will bark
  202. X    at the declartions of signal(), perror(), malloc(), fread(), and
  203. X    fwrite().
  204. X
  205. XEmmet P. Gray                US Army, HQ III Corps & Fort Hood
  206. X...!uunet!uiucuxc!fthood!egray        Attn: AFZF-DE-ENV
  207. X                    Directorate of Engineering & Housing
  208. X                    Environmental Management Office
  209. X                    Fort Hood, TX 76544-5057
  210. SHAR_EOF
  211. if test 6391 -ne "`wc -c < 'Readme'`"
  212. then
  213.     echo shar: "error transmitting 'Readme'" '(should have been 6391 characters)'
  214. fi
  215. fi
  216. echo shar: "extracting 'Release.notes'" '(5256 characters)'
  217. if test -f 'Release.notes'
  218. then
  219.     echo shar: "will not over-write existing file 'Release.notes'"
  220. else
  221. sed 's/^X//' << \SHAR_EOF > 'Release.notes'
  222. X
  223. X                 Pcomm version 1.1
  224. X                15 Aug 88
  225. X
  226. XIncompatibilities with v1.0:
  227. X
  228. X    I've added a few more fields to the pcomm.param and pcomm.modem
  229. X    files.  This means that those files created under previous
  230. X    releases will not be compatible with the v1.1 release.  It might
  231. X    be a good idea to abandon the older files and start over with
  232. X    the sample files in this release.
  233. X
  234. XThings that have changed:
  235. X
  236. X    An awful lot of sloppy programming on my part has now been
  237. X    cleaned up.  This means that porting Pcomm to different versions
  238. X    of Unix will be considerably less painful than before.
  239. X
  240. X    All of the tunable parameters are now in "config.h".
  241. X
  242. X    Pcomm now uses buffered I/O routines.  This yields higher
  243. X    performance I/O at large baud rates.
  244. X
  245. X    File transfers now use high performance CRC calculations.
  246. X
  247. X    If a UUCP lockfile does exist, Pcomm now attempts to determine
  248. X    if the process is still active.
  249. X
  250. X    An external file transfer program can be invoked from the file
  251. X    transfer menu.
  252. X
  253. X    The keyboard macro feature is now supported (although it is
  254. X    rather crude).
  255. X
  256. X    The virtual screen routine now understands a limited subset of
  257. X    escape sequences.
  258. X
  259. X    The virtual screen can now be held in shared memory or in a file.
  260. X
  261. X    The input routine is now contained in a separate program called
  262. X    pcomm_input.
  263. X
  264. X    You can now include a "modem break" in a dial or initialization
  265. X    string.
  266. X
  267. X    A separate "initialization speed" feature was added to support
  268. X    9600 baud modems such as the Telebit Trailblazer.  See Appendix
  269. X    C of the Doc file for more info on the use of this feature.
  270. X
  271. X    I've added a transparent pass through mode to be used in a
  272. X    communications daisy chain.
  273. X
  274. XKnown limitations:
  275. X
  276. X    Whenever Pcomm makes the transition from the terminal mode to
  277. X    the command mode, the true screen contents are lost.  Pcomm
  278. X    tries to keep track of what the true screen looks like in an
  279. X    internal "virtual screen".  This means that the escape sequences
  280. X    known to the hardware have to be emulated in the virtual screen.
  281. X    Unfortunately, the number of escape sequences that are emulated
  282. X    is quite small, so the representation of the true screen is
  283. X    sometimes wrong.
  284. X
  285. X    For the VCS (video command sequence) emulation to work, the
  286. X    terminfo entries on the host machine must match the entries on
  287. X    the remote.
  288. X
  289. X    The disp_tty() routine in s_tty.c currently does not support a
  290. X    NUM_TTY definition of greater than 10.
  291. X
  292. XFuture directions:
  293. X
  294. X    Continue work on the virtual screen routines.
  295. X
  296. X    Add dial back support.
  297. X
  298. X    Use shared memory to overcome the current limitation of outgoing
  299. X    characters in the half duplex mode not appearing in the virtual
  300. X    screen, log files, and print logs.
  301. X
  302. XMany thanks to the following people for bug reports and ideas for
  303. Ximproving the code:
  304. X
  305. X    Andy Pitts    ...{mtune,pacbell,kd4nc}!gladys!rbdc!andy
  306. X    Chris Wiener    ...ihnp4!{killer,attnssc}!crlabs!cwiener
  307. X    David Brierley    ...{sun,decuac,cbosgd,gatech,necntc,ukma}!rayssd!dhb
  308. X    Karl Fox    ...cbosgd!mstar!karl
  309. X    Michael Young    ...panda!genrad!mrst!sdti!mjy
  310. X    Mark Mendel    ...ihnp4!umn-cs!hyper!mark
  311. X    Viet Hoang    ...ihnp4!drutx!vgh
  312. X
  313. X--------------------------------------------------------------------------------
  314. X
  315. X                 Pcomm version 1.0
  316. X                12 Mar 88
  317. X
  318. XIncompatibilities with the beta release:
  319. X
  320. X    I've added a bunch of new parameters to the pcomm.param and
  321. X    pcomm.modem files, so the files used with the beta release won't
  322. X    work with the v1.0 release.
  323. X
  324. XThings that have changed:
  325. X
  326. X    Pcomm will attempt to determine if the modem has synchronized at
  327. X    a baud rate different than what is expected, and make changes to
  328. X    the line settings as appropriate.
  329. X
  330. X    The quit and interrupt signals are now ignored.
  331. X
  332. X    All of the file transfer protocols are now functional.
  333. X
  334. X    The directory search order used to find the support files has
  335. X    been changed slightly.
  336. X
  337. XKnown limitations:
  338. X
  339. X    The keyboard macro feature is not implemented at this time.
  340. X
  341. X    The true screen contents are lost when the "hot key" is pressed.
  342. X    Pcomm attempts to compensate (rather poorly) by repainting a
  343. X    virtual screen of what it thinks the true screen should look
  344. X    like.  Escape sequences in the virtual screen image will be
  345. X    ignored when the background is repainted.  For example, if
  346. X    you're on a vt100 and you recieve a ^[[2J to clear the screen,
  347. X    the screen *will* be cleared...  but when the screen is
  348. X    repainted, it will contain the characters ^[, [, 2, J (instead
  349. X    of performing the function).
  350. X
  351. X    The disp_tty() routine in s_tty.c currently does not support a
  352. X    NUM_TTY definition of greater than 10.
  353. X
  354. X    For some strange reason, the first keystroke is "lost" after a
  355. X    file transfer is complete or after starting data logging.
  356. X
  357. XFuture directions:
  358. X
  359. X    The virtual screen routines need a lot of work.  The most
  360. X    commonly used escape sequences (known to terminfo) will be
  361. X    processed.
  362. X
  363. X    I plan to have an option at compile time to have the virtual
  364. X    screen buffer held on disk [] or in shared memory [].
  365. X
  366. X    The input routine is designed so it could be a standalone
  367. X    program that gets called from Pcomm. []
  368. X
  369. X-------------------------------------------------------------------------------
  370. X
  371. XHave fun...
  372. X
  373. XEmmet P. Gray                US Army, HQ III Corps & Fort Hood
  374. X...!uunet!uiucuxc!fthood!egray        Attn: AFZF-DE-ENV
  375. X                    Directorate of Engineering & Housing
  376. X                    Environmental Management Office
  377. X                    Fort Hood, TX 76544-5057
  378. SHAR_EOF
  379. if test 5256 -ne "`wc -c < 'Release.notes'`"
  380. then
  381.     echo shar: "error transmitting 'Release.notes'" '(should have been 5256 characters)'
  382. fi
  383. fi
  384. echo shar: "extracting 'Makefile'" '(3691 characters)'
  385. if test -f 'Makefile'
  386. then
  387.     echo shar: "will not over-write existing file 'Makefile'"
  388. else
  389. sed 's/^X//' << \SHAR_EOF > 'Makefile'
  390. X#                PCOMM
  391. X#            for generic System V Unix
  392. X#
  393. X# for systems without getcwd(3) or getopt(3)
  394. X#
  395. X#GETCWD = getcwd.o
  396. X#GETOPT = getopt.o
  397. X
  398. XCFLAGS = -O
  399. X#CURSES = -ltermlib -lcurses
  400. XCURSES = -lcurses
  401. XLDFLAGS = -s
  402. XSHAR = shar -a
  403. XBIN = /usr/local/bin
  404. X
  405. XPCOMM = $(GETCWD) $(GETOPT) admin.o chg_dir.o curses.o d_delete.o \
  406. X    d_lib.o d_manual.o d_menu.o d_print.o d_prompt.o d_revise.o \
  407. X    data_log.o di_delay.o di_win.o dial.o expand.o help.o info.o \
  408. X    init.o line_set.o list_dir.o ls_menu.o m_lib.o macro.o main.o \
  409. X    n_shell.o p_lib.o passthru.o pexit.o port.o redial.o s_axfer.o \
  410. X    s_gen.o s_menu.o s_modem.o s_prompt.o s_term.o s_tty.o screen.o \
  411. X    st_line.o strings.o terminal.o x_ascii.o x_batch.o x_extrnl.o \
  412. X    x_menu.o x_rcv.o x_send.o x_win.o xmodem.o
  413. X
  414. XINPUT =    input.o vcs.o
  415. X
  416. Xall:    pcomm pcomm_input install
  417. X
  418. Xpcomm:    $(PCOMM)
  419. X    $(CC) $(LDFLAGS) $(PCOMM) -o pcomm $(CURSES)
  420. X
  421. Xpcomm_input:    $(INPUT)
  422. X    $(CC) $(LDFLAGS) $(INPUT) -o pcomm_input $(CURSES)
  423. X    
  424. Xinstall:
  425. X    cp pcomm $(BIN)
  426. X#    rm pcomm
  427. X    cp pcomm_input $(BIN)
  428. X#    rm pcomm_input
  429. X
  430. Xlint:
  431. X    lint -p -Dlint *.c
  432. X
  433. Xshar:
  434. X    cat Doc > pcomm_sh.1
  435. X    $(SHAR) Readme Release.notes Makefile Pcomm.1 Pcomm.dial_dir \
  436. X    Pcomm.modem Pcomm.param Unixpc.shar config.h dial_dir.h misc.h \
  437. X    modem.h param.h status.h vcs.h xmodem.h > pcomm_sh.2
  438. X    $(SHAR) admin.c chg_dir.c curses.c d_delete.c d_lib.c d_manual.c \
  439. X    d_menu.c d_print.c d_prompt.c d_revise.c data_log.c di_delay.c \
  440. X    > pcomm_sh.3
  441. X    $(SHAR) di_win.c dial.c expand.c getcwd.c getopt.c help.c info.c \
  442. X    init.c input.c line_set.c list_dir.c ls_menu.c > pcomm_sh.4
  443. X    $(SHAR) m_lib.c macro.c main.c n_shell.c p_lib.c passthru.c \
  444. X    pexit.c port.c redial.c > pcomm_sh.5
  445. X    $(SHAR) s_axfer.c s_gen.c s_menu.c s_modem.c s_prompt.c s_term.c \
  446. X    s_tty.c screen.c st_line.c strings.c terminal.c > pcomm_sh.6
  447. X    $(SHAR) vcs.c x_ascii.c x_batch.c x_extrnl.c x_menu.c x_rcv.c \
  448. X    > pcomm_sh.7
  449. X    $(SHAR) x_send.c x_win.c xmodem.c > pcomm_sh.8
  450. X
  451. Xadmin.o:    config.h dial_dir.h param.h
  452. Xchg_dir.o:    config.h misc.h
  453. Xcurses.o:    config.h misc.h
  454. Xd_delete.o:    config.h dial_dir.h misc.h param.h
  455. Xd_lib.o:    dial_dir.h param.h
  456. Xd_manual.o:    config.h misc.h dial_dir.h
  457. Xd_menu.o:    config.h dial_dir.h misc.h param.h
  458. Xd_print.o:    config.h dial_dir.h misc.h
  459. Xd_prompt.o:    config.h dial_dir.h misc.h
  460. Xd_revise.o:    config.h dial_dir.h misc.h param.h
  461. Xdata_log.o:    config.h misc.h param.h status.h
  462. Xdi_delay.o:    config.h misc.h param.h
  463. Xdi_win.o:    config.h dial_dir.h misc.h modem.h param.h
  464. Xdial.o:        config.h dial_dir.h misc.h modem.h param.h
  465. Xexpand.o:    config.h
  466. Xhelp.o:        config.h misc.h
  467. Xinit.o:        config.h misc.h status.h
  468. Xinput.o:    config.h misc.h status.h vcs.h
  469. Xline_set.o:    dial_dir.h param.h
  470. Xlist_dir.o:    config.h misc.h
  471. Xls_menu.o:    config.h dial_dir.h misc.h param.h
  472. Xm_lib.o:    modem.h
  473. Xmacro.o:    config.h misc.h param.h
  474. Xmain.o:        config.h dial_dir.h modem.h param.h status.h
  475. Xn_shell.o:    config.h
  476. Xp_lib.o:    param.h
  477. Xpassthru.o:    config.h misc.h
  478. Xpexit.o:    config.h dial_dir.h misc.h param.h status.h
  479. Xport.o:        config.h dial_dir.h modem.h
  480. Xredial.o:    config.h dial_dir.h misc.h
  481. Xs_axfer.o:    config.h misc.h param.h
  482. Xs_gen.o:    config.h misc.h param.h
  483. Xs_menu.o:    config.h misc.h
  484. Xs_modem.o:    config.h misc.h modem.h
  485. Xs_prompt.o:    config.h misc.h
  486. Xs_term.o:    config.h misc.h param.h status.h
  487. Xs_tty.o:    config.h misc.h modem.h
  488. Xscreen.o:    config.h param.h status.h
  489. Xst_line.o:    config.h dial_dir.h misc.h modem.h param.h status.h
  490. Xterminal.o:    config.h dial_dir.h misc.h modem.h param.h status.h
  491. Xvcs.o:        config.h vcs.h
  492. Xx_ascii.o:    config.h misc.h param.h
  493. Xx_batch.o:    config.h misc.h xmodem.h
  494. Xx_extrnl.o:    config.h
  495. Xx_menu.o:    config.h misc.h xmodem.h
  496. Xx_rcv.o:    config.h dial_dir.h misc.h xmodem.h
  497. Xx_send.o:    config.h dial_dir.h misc.h xmodem.h
  498. Xx_win.o:    config.h dial_dir.h misc.h xmodem.h
  499. Xxmodem.o:    config.h misc.h param.h xmodem.h
  500. SHAR_EOF
  501. if test 3691 -ne "`wc -c < 'Makefile'`"
  502. then
  503.     echo shar: "error transmitting 'Makefile'" '(should have been 3691 characters)'
  504. fi
  505. fi
  506. echo shar: "extracting 'Pcomm.1'" '(7955 characters)'
  507. if test -f 'Pcomm.1'
  508. then
  509.     echo shar: "will not over-write existing file 'Pcomm.1'"
  510. else
  511. sed 's/^X//' << \SHAR_EOF > 'Pcomm.1'
  512. X.TH PCOMM 1 local
  513. X.SH NAME
  514. Xpcomm \- a telecommunication program
  515. X.SH SYNOPSIS
  516. X.B pcomm
  517. X[
  518. X.B -d
  519. Xdirectory ] [
  520. X.B -f
  521. Xindex ]
  522. X.SH DESCRIPTION
  523. X.I Pcomm
  524. Xis a public domain telecommunication program for Unix that is designed
  525. Xto operate similar to the MSDOS program, ProComm.  ProComm (TM) is
  526. Xcopyrighted by Datastorm Technologies, Inc.
  527. X.PP
  528. XThe "-d" option is used to specify an additional path to search for the
  529. XPcomm support files.
  530. X.PP
  531. XThe "-f" option is used to specify automatic dialing of an entry in the
  532. Xdialing directory.  The "index" field in the dialing directory is
  533. Xchecked against the string given on the command line.  If a match is
  534. Xfound, that entry is automatically dialed.
  535. X.PP
  536. XWhenever
  537. X.I Pcomm
  538. Xis in the command mode, a status line is displayed at the bottom of the
  539. Xscreen.  The eight fields of the status line are:
  540. X.PP
  541. X.RS 5
  542. X.nf
  543. X+o help screen command (or a temporary message)
  544. X+o name of the tty device in use
  545. X+o duplex mode (FDX = full duplex, HDX = half duplex)
  546. X+o current line settings
  547. X+o status of data logging option
  548. X+o status of printer logging option
  549. X+o incoming CR translation
  550. X+o outgoing CR translation
  551. X.fi
  552. X.RE
  553. X.SH COMMANDS
  554. XThe following commands are accessible by pressing a user definable "hot
  555. Xkey" followed by a letter, number, or arrow key.  The default "hot key"
  556. Xis control-A.  The notatation "^A-X" means control-A followed by the
  557. Xletter X.  The dash (-) is for clarity, and is not a part of the command
  558. Xsequence.
  559. X.TP
  560. X.B ^A-0
  561. XHelp Screen.  Display a brief review of the available commands.  Uses
  562. Xthe number zero "0" not the letter "O".
  563. X.TP
  564. X.B ^A-D
  565. XDialing Directory.  The dialing directory screen is used to display and
  566. Xmaintain the database of phone number entries, and to select an entry
  567. Xfor dialing.  To select an entry to dial, just enter the entry number at
  568. Xthe prompt.  The following commands are available from the dialing
  569. Xdirectory:
  570. X.RS 5
  571. X.TP
  572. X.B R
  573. XRevise (or add) a dialing directory entry or a long distance dialing
  574. Xcode.
  575. X.TP
  576. X.B P
  577. XPrint (display) the long distance dialing codes.
  578. X.TP
  579. X.B up/down
  580. XScroll the dialing directory up or down 10 lines.  Uses the up and down
  581. Xarrow keys.
  582. X.TP
  583. X.B M
  584. XManual dial.  Prompts for a phone number rather than using a number
  585. Xalready in the dialing directory.
  586. X.TP
  587. X.B D
  588. XDelete an entry or a range of entries.
  589. X.TP
  590. X.B L
  591. XPrint.  Send the dialing directory to the printer or a file of your
  592. Xchoice.
  593. X.RE
  594. X.TP
  595. X.B ^A-R
  596. XAutomatic redial of selected dialing directory entries.  Prompts the
  597. Xuser for a list of directory entries to be placed in the queue.
  598. X.I Pcomm
  599. Xwill dial the numbers in a cycle until one of them answers.
  600. X.TP
  601. X.B ^A-M
  602. XAllows the user to maintain a list of keyboard macros assigned to the
  603. Xshifted number keys.  When pressed, the string assigned to that key is
  604. Xsent to the remote system.
  605. X.TP
  606. X.B ^A-P
  607. XAdjust the current communication line settings.  Display a menu of baud
  608. Xrate, parity, data bit, and stop bit choices.  Allows the new choice to
  609. Xbe saved and become the default.  After dialing a remote, the line
  610. Xsettings in the dialing directory entry are automatically used.  The
  611. Xcurrent line settings are shown in the status line.
  612. X.TP
  613. X.B ^A-X
  614. XExit from
  615. X.I Pcomm.
  616. X.TP
  617. X.B ^A-4
  618. XSpawn a Unix shell while still communicating with the remote system.
  619. XUses the "native" shell as described in the SHELL environmental
  620. Xvariable.
  621. X.TP
  622. X.B ^A-I
  623. XDisplay the program information screen.
  624. X.TP
  625. X.B ^A-S
  626. XDisplay a choice of setup screens.  The following sub-menus are
  627. Xavailable:
  628. X.RS 5
  629. X.TP
  630. X.B 1
  631. XTTY Setup.  This setup assigns the tty ports that
  632. X.I Pcomm
  633. Xis allowed to use, and what is attached to each port.
  634. X.TP
  635. X.B 2
  636. XModem Setup.  The modem setup contains the commands to make the modem
  637. Xdial, hang up the phone, etc.
  638. X.TP
  639. X.B 3
  640. XTerminal Setup.  The terminal setup contains the definition of the "hot
  641. Xkey" and the mapping of the end-of-line characters.
  642. X.TP
  643. X.B 4
  644. XGeneral Setup.  The general setup contains the default log file name,
  645. Xand the set of character synonyms.
  646. X.TP
  647. X.B 5
  648. XASCII Transfer Setup.  This setup screen contains additional character
  649. Xtranslations allowed during ASCII file transfers.
  650. X.TP
  651. X.B S
  652. XSave the changes to disk.
  653. X.RE
  654. X.TP
  655. X.B ^A-B
  656. XChange the current working directory.
  657. X.TP
  658. X.B ^A-C
  659. XClear the local screen and home the cursor.
  660. X.TP
  661. X.B ^A-E
  662. XToggle the duplex mode from full to half, or from half to full.  The
  663. Xstatus line shows the current duplex mode.
  664. X.TP
  665. X.B ^A-H
  666. XHang up the phone.  Disconnect the phone, but remain in
  667. X.I Pcomm.
  668. X.TP
  669. X.B ^A-L
  670. XToggle the printer on and off.  Since the printer is accessed through
  671. Xthe normal Unix spool program, the output is not sent to the printer
  672. Xuntil
  673. X.B after
  674. Xthis feature is turned off.
  675. X.TP
  676. X.B ^A-3
  677. XToggle the incoming line termination characters between the carriage
  678. Xreturn and the carriage return line feed pair.  This affects the
  679. Xterminal session only, not the file transfers.  The current settings are
  680. Xshown in the status line.
  681. X.TP
  682. X.B ^A-7
  683. XSend a modem break.  This is
  684. X.B not
  685. Xthe same as the break key on the keyboard.
  686. X.TP
  687. X.B ^A-up
  688. XDisplay a menu of file transfer protocols to be used to send files to a
  689. Xremote system.  Uses the up arrow key.
  690. X.TP
  691. X.B ^A-down
  692. XDisplay file transfer protocols to be used to receive files from a
  693. Xremote system.  Uses the down arrow key.
  694. X.TP
  695. X.B ^A-F
  696. XDisplay the contents of a Unix directory.
  697. X.TP
  698. X.B ^A-G
  699. XDump the contents of the screen to a specified file.  Special graphics
  700. Xcharacters may not be represented accurately in the file.
  701. X.TP
  702. X.B ^A-1
  703. XBegin data logging.  Prompts the user for the name of the file that will
  704. Xbe used to collect a complete record of the terminal session.
  705. X.TP
  706. X.B ^A-2
  707. XToggle the data logging option without prompting for a new file name.
  708. XThe status line shows the current data logging mode.
  709. X.SH FILE TRANSFERS
  710. X.I Pcomm
  711. Xunderstands the following file transfer protocols:
  712. X.PP
  713. X.RS 5
  714. X.nf
  715. Xprotocol        packet          error           multiple
  716. Xname            size            method          files?
  717. X---------       --------        ------------    --------
  718. Xxmodem          128             checksum/CRC    no
  719. Xxmodem-1k       128/1024        checksum/CRC    no
  720. Xmodem7          128             checksum        yes
  721. Xymodem          128/1024        CRC             yes
  722. Xymodem-g        128/1024        none            yes
  723. XASCII           none            none            no
  724. X.fi
  725. X.RE
  726. X.PP
  727. XIn addition,
  728. X.I Pcomm
  729. Xcan use an external program, such as kermit or the sz/rz/dsz programs,
  730. Xto transfer files.
  731. X.PP
  732. X.SH CONFIGURATION
  733. X.I Pcomm
  734. Xmust have access to the terminfo or termcap data for the terminal being
  735. Xused.  The minimum capabilities include a screen size of at least 80
  736. Xcolumns by 24 lines and cursor movement capabilities.  Running
  737. X.I Pcomm
  738. Xfrom terminals at relatively slow speeds (i.e.: 1200 baud) will cause
  739. Xthe windows to appear sluggish.
  740. X.PP
  741. XTerminals that don't have arrow keys or systems without the newer
  742. Xversions of curses(3) will require the user to substitute the letter "U"
  743. Xfor "up arrow" and "N" for "down arrow".
  744. X.PP
  745. XThere are three Pcomm support files that contain the default parameters,
  746. Xthe modem/tty database, and dialing directory entries.  Users may
  747. Xmaintain private versions of these files in a directory of their choice.
  748. X.I Pcomm
  749. Xuses the environmental variable PCOMM to search for these "private"
  750. Xversions.  The following directories are searched to find the support
  751. Xfiles:
  752. X.PP
  753. X.RS 5
  754. X.nf
  755. X+o directory given with the "-d" option
  756. X+o directory in the PCOMM environmental variable
  757. X+o current directory
  758. X+o default directory (compiled into Pcomm)
  759. X.fi
  760. X.RE
  761. X.PP
  762. XThe "index" field in the dialing directory serves two purposes.  The
  763. Xfirst use is to act as a short cut into the dialing directory with
  764. Xthe "-f" command line option.  The second use is to specify a tty name
  765. Xfor a given entry.  If the "index" is a valid device name, that device
  766. Xis used instead of searching the tty database for a free port.
  767. X.SH FILES
  768. X.nf
  769. Xpcomm.dial_dir    the dialing directory
  770. Xpcomm.modem    the modem/tty database
  771. Xpcomm.param    the start-up default parameters
  772. X.fi
  773. X.SH SEE ALSO
  774. XPcomm Reference Manual, xmodem(1), mdm(1)
  775. echo shar: "12 control characters may be missing from 'Pcomm.1'"
  776. SHAR_EOF
  777. if test 7955 -ne "`wc -c < 'Pcomm.1'`"
  778. then
  779.     echo shar: "error transmitting 'Pcomm.1'" '(should have been 7955 characters)'
  780. fi
  781. fi
  782. echo shar: "extracting 'Pcomm.dial_dir'" '(320 characters)'
  783. if test -f 'Pcomm.dial_dir'
  784. then
  785.     echo shar: "will not over-write existing file 'Pcomm.dial_dir'"
  786. else
  787. sed 's/^X//' << \SHAR_EOF > 'Pcomm.dial_dir'
  788. XDIR_1=Abbey Road;1 (512) 590-6036;2400-N-8-1;F;
  789. XDIR_2=Tel-Med-Com;555-8686;9600-E-7-1;F;
  790. XDIR_3=C Board;1 (619) 722-8724;2400-N-8-1;F;
  791. XDIR_4=Crest;1 (213) 471-2518;2400-N-8-1;F;crest
  792. XDIR_5=Last Chance;1 (219) 762-8411;2400-E-7-1;F;
  793. XDIR_6=Killer;1 (214) 827-1994;1200-E-7-1;F;
  794. XDIR_7=System A (direct);;19200-E-7-1;F;tty12
  795. SHAR_EOF
  796. if test 320 -ne "`wc -c < 'Pcomm.dial_dir'`"
  797. then
  798.     echo shar: "error transmitting 'Pcomm.dial_dir'" '(should have been 320 characters)'
  799. fi
  800. fi
  801. echo shar: "extracting 'Pcomm.modem'" '(598 characters)'
  802. if test -f 'Pcomm.modem'
  803. then
  804.     echo shar: "will not over-write existing file 'Pcomm.modem'"
  805. else
  806. sed 's/^X//' << \SHAR_EOF > 'Pcomm.modem'
  807. XTTY_1=tty10;HAYES;0
  808. XTTY_2=tty11;HAYES;0
  809. XTTY_3=tty12;DIRECT;0
  810. XTTY_4=tty13;TELEBIT;0
  811. XTTY_5=tty13;FAST_TELEBIT;0
  812. XMODEM_1a=HAYES;ATS7=45S11=70E0Q0V1X4&D2!;ATDT;!;~~+++~~ATH0!
  813. XMODEM_1b=Y;CONNECT!;CONNECT 1200;CONNECT 2400;;;
  814. XMODEM_1c=BUSY;VOICE;NO CARRIER;
  815. XMODEM_2a=DIRECT;;;;
  816. XMODEM_2b=N;;;;;;
  817. XMODEM_2c=;;;
  818. XMODEM_3a=TELEBIT;%AAAAAATS50=0S2=43S95=0M1!;%AAAAAATDTW;!;~~+++~~ATH0!
  819. XMODEM_3b=Y;CONNECT 300;CONNECT 1200;CONNECT 2400;;;
  820. XMODEM_3c=BUSY;ERROR;NO CARRIER;
  821. XMODEM_4a=FAST_TELEBIT;%AAAAAATS50=255S2=43S95=0M1!;%AAAAAATDTW;!;~~+++~~ATH0!
  822. XMODEM_4b=N;;;;;CONNECT;CONNECT
  823. XMODEM_4c=BUSY;ERROR;NO CARRIER;
  824. SHAR_EOF
  825. if test 598 -ne "`wc -c < 'Pcomm.modem'`"
  826. then
  827.     echo shar: "error transmitting 'Pcomm.modem'" '(should have been 598 characters)'
  828. fi
  829. fi
  830. echo shar: "extracting 'Pcomm.param'" '(453 characters)'
  831. if test -f 'Pcomm.param'
  832. then
  833.     echo shar: "will not over-write existing file 'Pcomm.param'"
  834. else
  835. sed 's/^X//' << \SHAR_EOF > 'Pcomm.param'
  836. XD_BAUD=1200
  837. XD_PARITY=E
  838. XD_DBITS=7
  839. XD_SBITS=1
  840. XHOT=1
  841. XASCII_HOT=^A
  842. XD_DUPLEX=FULL
  843. XFLOW=XON/XOFF
  844. XCR_IN=CR
  845. XCR_OUT=CR
  846. XLOGFILE=pcomm.log
  847. XDUMPFILE=pcomm.dump
  848. XSTRIP=YES
  849. XPAUSE_CHAR=~
  850. XCR_CHAR=!
  851. XCTRL_CHAR=^
  852. XESC_CHAR=|
  853. XBRK_CHAR=%
  854. XABORT=KEEP
  855. XC_DELAY=35
  856. XR_DELAY=5
  857. XLECHO=NO
  858. XEXPAND=NO
  859. XCR_DELAY=0
  860. XPACE=NO
  861. XCR_UP=NONE
  862. XLF_UP=ADD CR
  863. XTIMER=5
  864. XCR_DN=STRIP
  865. XLF_DN=NONE
  866. XLD_PLUS=
  867. XLD_MINUS=
  868. XLD_AT=8,
  869. XLD_POUND=9
  870. XMAC_1=hello
  871. XMAC_2=
  872. XMAC_3=
  873. XMAC_4=
  874. XMAC_5=
  875. XMAC_6=
  876. XMAC_7=
  877. XMAC_8=
  878. XMAC_9=
  879. XMAC_0=
  880. SHAR_EOF
  881. if test 453 -ne "`wc -c < 'Pcomm.param'`"
  882. then
  883.     echo shar: "error transmitting 'Pcomm.param'" '(should have been 453 characters)'
  884. fi
  885. fi
  886. echo shar: "extracting 'Unixpc.shar'" '(12194 characters)'
  887. if test -f 'Unixpc.shar'
  888. then
  889.     echo shar: "will not over-write existing file 'Unixpc.shar'"
  890. else
  891. sed 's/^X//' << \SHAR_EOF > 'Unixpc.shar'
  892. X#! /bin/sh
  893. X# This is a shell archive, meaning:
  894. X# 1. Remove everything above the #! /bin/sh line.
  895. X# 2. Save the resulting text in a file.
  896. X# 3. Execute the file with /bin/sh (not csh) to create:
  897. X#    Ifile.sh
  898. X#    Makefile
  899. X#    Pcomm.modem
  900. X#    Readme.7300
  901. X#    config.h
  902. X# This archive created: Sat Aug 20 12:40:17 1988
  903. Xexport PATH; PATH=/bin:/usr/bin:$PATH
  904. Xecho shar: "extracting 'Ifile.sh'" '(705 characters)'
  905. Xif test -f 'Ifile.sh'
  906. Xthen
  907. X    echo shar: "will not over-write existing file 'Ifile.sh'"
  908. Xelse
  909. Xsed 's/^X//' << \SHAR_EOF > 'Ifile.sh'
  910. XXex - $1 << EOF
  911. XX1,\$s/^PC/xPC/
  912. XX1,\$s/^BC/xBC/
  913. XX1,\$s/^UP/xUP/
  914. XX1,\$s/^ospeed/xospeed/
  915. XX1,\$s/^LINES/xLINES/
  916. XX1,\$s/^COLS/xCOLS/
  917. XX1,\$s/^tgetflag/xtgetflag/
  918. XX1,\$s/^tgetent/xtgetent/
  919. XX1,\$s/^tgetstr/xtgetstr/
  920. XX1,\$s/^tgetnum/xtgetnum/
  921. XX1,\$s/^tgoto/xtgoto/
  922. XX1,\$s/^tputs/xtputs/
  923. XX1,\$s/^wrefresh/xwrefresh/
  924. XX1,\$s/^initscr/xinitscr/
  925. XX1,\$s/^cbreak/xcbreak/
  926. XX1,\$s/^nl/xnl/
  927. XX1,\$s/^flushinp/xflushinp/
  928. XX1,\$s/^noecho/xnoecho/
  929. XX1,\$s/^savetty/xsavetty/
  930. XX1,\$s/^resetty/xresetty/
  931. XX1,\$s/^echo/xecho/
  932. XX1,\$s/^nocbreak/xnocbreak/
  933. XX1,\$s/^nonl/xnonl/
  934. XX1,\$s/^keypad/xkeypad/
  935. XX1,\$s/^endwin/xendwin/
  936. XX1,\$s/^printw/xprintw/
  937. XX1,\$s/^fixterm/xfixterm/
  938. XX1,\$s/^resetterm/xresetterm/
  939. XX1,\$s/^setterm/xsetterm/
  940. XX1,\$s/^baudrate/xbaudrate/
  941. XXw
  942. XXq
  943. XXEOF
  944. XSHAR_EOF
  945. Xif test 705 -ne "`wc -c < 'Ifile.sh'`"
  946. Xthen
  947. X    echo shar: "error transmitting 'Ifile.sh'" '(should have been 705 characters)'
  948. Xfi
  949. Xfi
  950. Xecho shar: "extracting 'Makefile'" '(3891 characters)'
  951. Xif test -f 'Makefile'
  952. Xthen
  953. X    echo shar: "will not over-write existing file 'Makefile'"
  954. Xelse
  955. Xsed 's/^X//' << \SHAR_EOF > 'Makefile'
  956. XX#                Pcomm
  957. XX#            for AT&T Unix PC 7300/3b1
  958. XX#
  959. XX
  960. XXCFLAGS = -O
  961. XX#CURSES = -lcurses -ltermcap
  962. XXCURSES = -lcurses
  963. XXLD = ld -s
  964. XXSHAR = shar -a
  965. XXBIN = /usr/local/bin
  966. XX
  967. XXSHAREDLIB = shlib_c.ifile
  968. XX
  969. XXPCOMM = admin.o chg_dir.o curses.o d_delete.o d_lib.o d_manual.o \
  970. XX    d_menu.o d_print.o d_prompt.o d_revise.o data_log.o di_delay.o \
  971. XX    di_win.o dial.o expand.o help.o info.o init.o line_set.o \
  972. XX    list_dir.o ls_menu.o m_lib.o macro.o main.o n_shell.o p_lib.o \
  973. XX    passthru.o pexit.o port.o redial.o s_axfer.o s_gen.o s_menu.o \
  974. XX    s_modem.o s_prompt.o s_term.o s_tty.o screen.o st_line.o \
  975. XX    strings.o terminal.o x_ascii.o x_batch.o x_extrnl.o x_menu.o \
  976. XX    x_rcv.o x_send.o x_win.o xmodem.o
  977. XX
  978. XXINPUT =    input.o vcs.o
  979. XX
  980. XXOTHERS = setvbuf.o doprnt.o
  981. XX
  982. XXall:    pcomm pcomm_input install
  983. XX
  984. XXpcomm:    $(PCOMM) $(OTHERS) $(SHAREDLIB)
  985. XX    $(LD) $(PCOMM) $(OTHERS) $(CURSES) /lib/crt0s.o $(SHAREDLIB) -o pcomm
  986. XX
  987. XXpcomm_input:    $(INPUT) $(OTHERS) $(SHAREDLIB)
  988. XX    $(LD) $(INPUT) $(OTHERS) $(CURSES) /lib/crt0s.o $(SHAREDLIB) -o pcomm_input
  989. XX
  990. XXsetvbuf.o:
  991. XX    ar x /lib/libc.a setvbuf.o
  992. XX
  993. XXdoprnt.o:
  994. XX    ar x /lib/libc.a doprnt.o
  995. XX
  996. XXshlib_c.ifile:
  997. XX    cp /lib/shlib.ifile shlib_c.ifile
  998. XX    sh Ifile.sh shlib_c.ifile
  999. XX
  1000. XXinstall:
  1001. XX    cp pcomm $(BIN)
  1002. XX#    rm pcomm
  1003. XX    cp pcomm_input $(BIN)
  1004. XX#    rm pcomm_input
  1005. XX
  1006. XXlint:
  1007. XX    lint -p -Dlint *.c
  1008. XX
  1009. XXshar:
  1010. XX    cat Doc > pcomm_sh.1
  1011. XX    $(SHAR) Readme Release.notes Makefile Pcomm.1 Pcomm.dial_dir \
  1012. XX    Pcomm.modem Pcomm.param Unixpc.shar config.h dial_dir.h misc.h \
  1013. XX    modem.h param.h status.h vcs.h xmodem.h > pcomm_sh.2
  1014. XX    $(SHAR) admin.c chg_dir.c curses.c d_delete.c d_lib.c d_manual.c \
  1015. XX    d_menu.c d_print.c d_prompt.c d_revise.c data_log.c di_delay.c \
  1016. XX    > pcomm_sh.3
  1017. XX    $(SHAR) di_win.c dial.c expand.c getcwd.c getopt.c help.c info.c \
  1018. XX    init.c input.c line_set.c list_dir.c ls_menu.c > pcomm_sh.4
  1019. XX    $(SHAR) m_lib.c macro.c main.c n_shell.c p_lib.c passthru.c \
  1020. XX    pexit.c port.c redial.c > pcomm_sh.5
  1021. XX    $(SHAR) s_axfer.c s_gen.c s_menu.c s_modem.c s_prompt.c s_term.c \
  1022. XX    s_tty.c screen.c st_line.c strings.c terminal.c > pcomm_sh.6
  1023. XX    $(SHAR) vcs.c x_ascii.c x_batch.c x_extrnl.c x_menu.c x_rcv.c \
  1024. XX    > pcomm_sh.7
  1025. XX    $(SHAR) x_send.c x_win.c xmodem.c > pcomm_sh.8
  1026. XX
  1027. XXadmin.o:    config.h dial_dir.h param.h
  1028. XXchg_dir.o:    config.h misc.h
  1029. XXcurses.o:    config.h misc.h
  1030. XXd_delete.o:    config.h dial_dir.h misc.h param.h
  1031. XXd_lib.o:    dial_dir.h param.h
  1032. XXd_manual.o:    config.h misc.h dial_dir.h
  1033. XXd_menu.o:    config.h dial_dir.h misc.h param.h
  1034. XXd_print.o:    config.h dial_dir.h misc.h
  1035. XXd_prompt.o:    config.h dial_dir.h misc.h
  1036. XXd_revise.o:    config.h dial_dir.h misc.h param.h
  1037. XXdata_log.o:    config.h misc.h param.h status.h
  1038. XXdi_delay.o:    config.h misc.h param.h
  1039. XXdi_win.o:    config.h dial_dir.h misc.h modem.h param.h
  1040. XXdial.o:        config.h dial_dir.h misc.h modem.h param.h
  1041. XXexpand.o:    config.h
  1042. XXhelp.o:        config.h misc.h
  1043. XXinit.o:        config.h misc.h status.h
  1044. XXinput.o:    config.h misc.h status.h vcs.h
  1045. XXline_set.o:    dial_dir.h param.h
  1046. XXlist_dir.o:    config.h misc.h
  1047. XXls_menu.o:    config.h dial_dir.h misc.h param.h
  1048. XXm_lib.o:    modem.h
  1049. XXmacro.o:    config.h misc.h param.h
  1050. XXmain.o:        config.h dial_dir.h modem.h param.h status.h
  1051. XXn_shell.o:    config.h
  1052. XXp_lib.o:    param.h
  1053. XXpassthru.o:    config.h misc.h
  1054. XXpexit.o:    config.h dial_dir.h misc.h param.h status.h
  1055. XXport.o:        config.h dial_dir.h modem.h
  1056. XXredial.o:    config.h dial_dir.h misc.h
  1057. XXs_axfer.o:    config.h misc.h param.h
  1058. XXs_gen.o:    config.h misc.h param.h
  1059. XXs_menu.o:    config.h misc.h
  1060. XXs_modem.o:    config.h misc.h modem.h
  1061. XXs_prompt.o:    config.h misc.h
  1062. XXs_term.o:    config.h misc.h param.h status.h
  1063. XXs_tty.o:    config.h misc.h modem.h
  1064. XXscreen.o:    config.h param.h status.h
  1065. XXst_line.o:    config.h dial_dir.h misc.h modem.h param.h status.h
  1066. XXterminal.o:    config.h dial_dir.h misc.h modem.h param.h status.h
  1067. XXvcs.o:        config.h vcs.h
  1068. XXx_ascii.o:    config.h misc.h param.h
  1069. XXx_batch.o:    config.h misc.h xmodem.h
  1070. XXx_extrnl.o:    config.h
  1071. XXx_menu.o:    config.h misc.h xmodem.h
  1072. XXx_rcv.o:    config.h dial_dir.h misc.h xmodem.h
  1073. XXx_send.o:    config.h dial_dir.h misc.h xmodem.h
  1074. XXx_win.o:    config.h dial_dir.h misc.h xmodem.h
  1075. XXxmodem.o:    config.h misc.h param.h xmodem.h
  1076. XSHAR_EOF
  1077. Xif test 3891 -ne "`wc -c < 'Makefile'`"
  1078. Xthen
  1079. X    echo shar: "error transmitting 'Makefile'" '(should have been 3891 characters)'
  1080. Xfi
  1081. Xfi
  1082. Xecho shar: "extracting 'Pcomm.modem'" '(151 characters)'
  1083. Xif test -f 'Pcomm.modem'
  1084. Xthen
  1085. X    echo shar: "will not over-write existing file 'Pcomm.modem'"
  1086. Xelse
  1087. Xsed 's/^X//' << \SHAR_EOF > 'Pcomm.modem'
  1088. XXTTY_1=ph1;OBM;0
  1089. XXTTY_2=tty000;DIRECT;0
  1090. XXMODEM_1a=OBM;;%;@;
  1091. XXMODEM_1b=N;CONNECT;CONNECT;;;;
  1092. XXMODEM_1c=;;;
  1093. XXMODEM_2a=DIRECT;;;;
  1094. XXMODEM_2b=N;;;;;;
  1095. XXMODEM_2c=;;;
  1096. XSHAR_EOF
  1097. Xif test 151 -ne "`wc -c < 'Pcomm.modem'`"
  1098. Xthen
  1099. X    echo shar: "error transmitting 'Pcomm.modem'" '(should have been 151 characters)'
  1100. Xfi
  1101. Xfi
  1102. Xecho shar: "extracting 'Readme.7300'" '(3530 characters)'
  1103. Xif test -f 'Readme.7300'
  1104. Xthen
  1105. X    echo shar: "will not over-write existing file 'Readme.7300'"
  1106. Xelse
  1107. Xsed 's/^X//' << \SHAR_EOF > 'Readme.7300'
  1108. XX                  Pcomm v1.1
  1109. XX             Additional Notes for users of
  1110. XX                 AT&T Unix PC 7300/3b1
  1111. XX
  1112. XX    1) The shared libraries on your system contain Terminal Access
  1113. XX    Method (TAM) routines in lieu of curses(3) routines.  However,
  1114. XX    many of the routines have the same names!  This means that
  1115. XX    curses library is not compatible with the shared library.  So,
  1116. XX    to circumvent the problem, an alternate shared library "link
  1117. XX    directive file" is needed.  The Ifile.sh file is a shell script
  1118. XX    that is run by the Makefile to create this alternate file.  The
  1119. XX    alternate file has the references to the TAM routines removed
  1120. XX    (actually, they just have an 'x' placed in the names).  The
  1121. XX    actual shared library binaries are NOT altered.  We just fool
  1122. XX    the linker into believing that the TAM routines aren't there.
  1123. XX
  1124. XX    2) Before Pcomm can be compiled, the curses library routines
  1125. XX    must be installed on your system.  The diskette labled
  1126. XX    "Curses/Terminfo Programmer's Package" is a part of the "Unix
  1127. XX    Developement Set".  Likewise, before Pcomm can be used, the
  1128. XX    terminfo database must be installed.  The diskettes labled
  1129. XX    "Curses/Terminfo End User Package" and "Terminfo Database" are
  1130. XX    a part of the "Unix Foundation Set"
  1131. XX
  1132. XX    3) If you are running Unix version 3.0 or older, you must edit
  1133. XX    the "config.h" file to change the OLDCURSES definition from
  1134. XX    "#undef" to "#define".  I understand the older version of
  1135. XX    curses(3) is very buggy.
  1136. XX
  1137. XX    4) Did you know that your system can use DEC vt100 style line
  1138. XX    drawing character?  Curses automatically uses the "alternate"
  1139. XX    character set (if found) to draw the boxes and lines rather than
  1140. XX    using the '-' and '|' characters.  To allow your system to use
  1141. XX    this feature, there are two things you must do:
  1142. XX
  1143. XX        1) Load the line drawing font in slot 1 prior to running
  1144. XX        a program requiring them.  This can be done by typing:
  1145. XX
  1146. XX            setf /usr/lib/wfont/BLD.ft 1
  1147. XX
  1148. XX        ...or permanently install this font in slot 1 by adding
  1149. XX        the following two lines to the end of the /etc/rc file:
  1150. XX
  1151. XX            sfont /usr/lib/wfont/BLD.ft 1
  1152. XX            setf /usr/lib/wfont/BLD.ft 1
  1153. XX
  1154. XX        2) Tell curses(3) about the alternate character set by
  1155. XX        editing the terminfo database.
  1156. XX
  1157. XX        To get a copy of the terminfo entry to play with,
  1158. XX        you type:
  1159. XX
  1160. XX            infocmp -I s4 > s4.ti
  1161. XX
  1162. XX        now add the following line (with a leading tab) to the
  1163. XX        's4.ti' file:
  1164. XX
  1165. XX            acsc=+h\,g.e-fjjkkllmmnnqqttuuvvwwxx,
  1166. XX
  1167. XX        recompile the new entry:
  1168. XX
  1169. XX            tic s4.ti
  1170. XX
  1171. XX    5) The "tset" command is broken on every version of Unix this
  1172. XX    box has ever seen (it is commented out of /etc/profile for a
  1173. XX    good reason).  One of tset's functions is to send a string to
  1174. XX    initialize the settings of the terminal and to set the tab
  1175. XX    stops.  The fact that this function doesn't work is often
  1176. XX    overlooked because the console (as well as a lot of other
  1177. XX    terminals) doesn't require any initialization.  However, if you
  1178. XX    call into your system from a remote terminal that *does* require
  1179. XX    initialization, you've got trouble.
  1180. XX
  1181. XX    For example, curses(3) looks at the terminfo database to see if
  1182. XX    your terminal has "hardware tabs", if so, it expects the tab
  1183. XX    stops to be set.  Ignoring tabs by using "stty -tabs" (to
  1184. XX    convert tabs to spaces) won't work, in fact, curses(3) RESETS
  1185. XX    things as if you had typed "stty tabs"!  In this case, you must
  1186. XX    use the "tabs" command before running Pcomm.
  1187. XX
  1188. XX    Likewise, my terminfo entry for PCPLUS v1.1's emulation of a
  1189. XX    vt102 has "^[)0" in the initialization string to load the line
  1190. XX    drawing character set.  But, since tset is broken, I've got to
  1191. XX    cat a file containing the above command sequence before running
  1192. XX    Pcomm.
  1193. XSHAR_EOF
  1194. Xif test 3530 -ne "`wc -c < 'Readme.7300'`"
  1195. Xthen
  1196. X    echo shar: "error transmitting 'Readme.7300'" '(should have been 3530 characters)'
  1197. Xfi
  1198. Xfi
  1199. Xecho shar: "extracting 'config.h'" '(1584 characters)'
  1200. Xif test -f 'config.h'
  1201. Xthen
  1202. X    echo shar: "will not over-write existing file 'config.h'"
  1203. Xelse
  1204. Xsed 's/^X//' << \SHAR_EOF > 'config.h'
  1205. XX/*
  1206. XX * Various tunable parameters.  This should appear before any other local
  1207. XX * header file.
  1208. XX */
  1209. XX
  1210. XX/* Use the dialing routines specific to the AT&T Unix PC 7300/3b1 */
  1211. XX#define    UNIXPC
  1212. XX
  1213. XX/* Older versions of curses(3) use termcap in lieu of terminfo */
  1214. XX#undef    OLDCURSES
  1215. XX
  1216. XX/* Use shared memory in lieu of a file for the virtual screen */
  1217. XX#define    SHAREDMEM
  1218. XX
  1219. XX/* Should a missing video attribute be promoted to standout? */
  1220. XX#define NOPROMOTE
  1221. XX
  1222. XX/* Use extra precautions if Pcomm is set-user-id or set-group-id */
  1223. XX#undef    SETUGID
  1224. XX
  1225. XX/* Should Pcomm make a log of all phone calls? */
  1226. XX#undef    LOG_CALLS
  1227. XX
  1228. XX/* The name of the log file (if used).  */
  1229. XX#define    LOGFILE        "/usr/adm/phone.calls"
  1230. XX
  1231. XX/* Should long distance (toll) calls be limited to a specific group? */
  1232. XX#undef    LIMIT_LD
  1233. XX
  1234. XX/* The name of the privileged group for limiting long distance calls */
  1235. XX#define    GROUP_NAME    "uucp"
  1236. XX
  1237. XX/* The path to the line printer program */
  1238. XX#define    LPR        "/usr/bin/lp"
  1239. XX
  1240. XX/* The path to the "pretty" printer program (if none, use same as LPR) */
  1241. XX#define    LPRINT        "/usr/bin/lp"
  1242. XX
  1243. XX/* The path to the default directory containing the Pcomm support files */
  1244. XX#define    DEFAULT_DIR    "/usr/local/lib/pcomm"
  1245. XX
  1246. XX/* The path to the directory where UUCP locks are found */
  1247. XX#define    LOCK_DIR    "/usr/spool/uucp"
  1248. XX
  1249. XX/* Do the lock files use ASCII encoded PID's? */
  1250. XX#undef    ASCII_PID
  1251. XX
  1252. XX/* Should Pcomm optimize redialing by keeping the TTY port open */
  1253. XX#define    KEEP_PORT
  1254. XX
  1255. XX/* Does the status line scroll up on "magic cookie" terminals? */
  1256. XX#define XMC_BROKE
  1257. XX
  1258. XX/* Does the alarm() system call work correctly with the wgetch() function? */
  1259. XX#undef    WGETCH_BROKE
  1260. XSHAR_EOF
  1261. Xif test 1584 -ne "`wc -c < 'config.h'`"
  1262. Xthen
  1263. X    echo shar: "error transmitting 'config.h'" '(should have been 1584 characters)'
  1264. Xfi
  1265. Xfi
  1266. Xexit 0
  1267. X#    End of shell archive
  1268. SHAR_EOF
  1269. if test 12194 -ne "`wc -c < 'Unixpc.shar'`"
  1270. then
  1271.     echo shar: "error transmitting 'Unixpc.shar'" '(should have been 12194 characters)'
  1272. fi
  1273. fi
  1274. echo shar: "extracting 'config.h'" '(1582 characters)'
  1275. if test -f 'config.h'
  1276. then
  1277.     echo shar: "will not over-write existing file 'config.h'"
  1278. else
  1279. sed 's/^X//' << \SHAR_EOF > 'config.h'
  1280. X/*
  1281. X * Various tunable parameters.  This should appear before any other local
  1282. X * header file.
  1283. X */
  1284. X
  1285. X/* Use the dialing routines specific to the AT&T Unix PC 7300/3b1 */
  1286. X#undef    UNIXPC
  1287. X
  1288. X/* Older versions of curses(3) use termcap in lieu of terminfo */
  1289. X#undef    OLDCURSES
  1290. X
  1291. X/* Use shared memory in lieu of a file for the virtual screen */
  1292. X#define    SHAREDMEM
  1293. X
  1294. X/* Should a missing video attribute be promoted to standout? */
  1295. X#define NOPROMOTE
  1296. X
  1297. X/* Use extra precautions if Pcomm is set-user-id or set-group-id */
  1298. X#undef    SETUGID
  1299. X
  1300. X/* Should Pcomm make a log of all phone calls? */
  1301. X#undef    LOG_CALLS
  1302. X
  1303. X/* The name of the log file (if used).  */
  1304. X#define    LOGFILE        "/usr/adm/phone.calls"
  1305. X
  1306. X/* Should long distance (toll) calls be limited to a specific group? */
  1307. X#undef    LIMIT_LD
  1308. X
  1309. X/* The name of the privileged group for limiting long distance calls */
  1310. X#define    GROUP_NAME    "uucp"
  1311. X
  1312. X/* The path to the line printer program */
  1313. X#define    LPR        "/usr/bin/lp"
  1314. X
  1315. X/* The path to the "pretty" printer program (if none, use same as LPR) */
  1316. X#define    LPRINT        "/usr/bin/lp"
  1317. X
  1318. X/* The path to the default directory containing the Pcomm support files */
  1319. X#define    DEFAULT_DIR    "/usr/local/lib/pcomm"
  1320. X
  1321. X/* The path to the directory where UUCP locks are found */
  1322. X#define    LOCK_DIR    "/usr/spool/uucp"
  1323. X
  1324. X/* Do the lock files use ASCII encoded PID's? */
  1325. X#undef    ASCII_PID
  1326. X
  1327. X/* Should Pcomm optimize redialing by keeping the TTY port open */
  1328. X#define    KEEP_PORT
  1329. X
  1330. X/* Does the status line scroll up on "magic cookie" terminals? */
  1331. X#undef    XMC_BROKE
  1332. X
  1333. X/* Does the alarm() system call work correctly with the wgetch() function? */
  1334. X#undef    WGETCH_BROKE
  1335. SHAR_EOF
  1336. if test 1582 -ne "`wc -c < 'config.h'`"
  1337. then
  1338.     echo shar: "error transmitting 'config.h'" '(should have been 1582 characters)'
  1339. fi
  1340. fi
  1341. echo shar: "extracting 'dial_dir.h'" '(870 characters)'
  1342. if test -f 'dial_dir.h'
  1343. then
  1344.     echo shar: "will not over-write existing file 'dial_dir.h'"
  1345. else
  1346. sed 's/^X//' << \SHAR_EOF > 'dial_dir.h'
  1347. X/*
  1348. X * The dialing directory structure.  The first eight elements are
  1349. X * contained in the pcomm.dial_dir file.
  1350. X */
  1351. X
  1352. X#define NUM_DIR        100
  1353. X#define NUM_QUEUE    10
  1354. X
  1355. Xstruct DIAL_DIR {
  1356. X    char    *name[NUM_DIR+1];    /* name of system being called */
  1357. X    char    *number[NUM_DIR+1];    /* phone number */
  1358. X    int    baud[NUM_DIR+1];    /* baud rate */
  1359. X    char    parity[NUM_DIR+1];    /* parity */
  1360. X    int    dbits[NUM_DIR+1];    /* data bits */
  1361. X    int    sbits[NUM_DIR+1];    /* stop bits */
  1362. X    char    duplex[NUM_DIR+1];    /* duplex (F = full, H = half) */
  1363. X    char    *index[NUM_DIR+1];    /* command line index (or TTY) */
  1364. X
  1365. X    int    q_num[NUM_QUEUE];    /* entry numbers in the queue */
  1366. X    char    q_ld[NUM_QUEUE];    /* LD codes in the queue */
  1367. X
  1368. X    int    d_entries;        /* number of entries in the file */
  1369. X    int    d_cur;            /* the current entry */
  1370. X
  1371. X    char    *d_path;        /* path to the pcomm.dial_dir file */
  1372. X};
  1373. X
  1374. X#ifndef MAIN
  1375. Xextern struct DIAL_DIR *dir;
  1376. X#endif /* MAIN */
  1377. SHAR_EOF
  1378. if test 870 -ne "`wc -c < 'dial_dir.h'`"
  1379. then
  1380.     echo shar: "error transmitting 'dial_dir.h'" '(should have been 870 characters)'
  1381. fi
  1382. fi
  1383. echo shar: "extracting 'misc.h'" '(1404 characters)'
  1384. if test -f 'misc.h'
  1385. then
  1386.     echo shar: "will not over-write existing file 'misc.h'"
  1387. else
  1388. sed 's/^X//' << \SHAR_EOF > 'misc.h'
  1389. X/*
  1390. X * Definitions to support the home-grown curses(3) functions and to make
  1391. X * the old curses(3) routines happy.  ("config.h" must be included first).
  1392. X */
  1393. X
  1394. X#define mvwattrstr(w,y,x,a,s)    (wmove(w,y,x)==ERR?ERR:wattrstr(w,a,s))
  1395. X#define mvwattrch(w,y,x,a,c)    (wmove(w,y,x)==ERR?ERR:wattrch(w,a,c))
  1396. X#define mvwattrnum(w,y,x,a,n)    (wmove(w,y,x)==ERR?ERR:wattrnum(w,a,n))
  1397. X#define mvattrstr(y,x,a,s)    (wmove(stdscr,y,x)==ERR?ERR:wattrstr(stdscr,a,s))
  1398. X#define mvattrch(y,x,a,c)    (wmove(stdscr,y,x)==ERR?ERR:wattrch(stdscr,a,c))
  1399. X#define mvattrnum(y,x,a,n)    (wmove(stdscr,y,x)==ERR?ERR:wattrnum(stdscr,a,n))
  1400. X#define attrstr(a,s)        wattrstr(stdscr,a,s)
  1401. X#define attrch(a,c)        wattrch(stdscr,a,c)
  1402. X#define attrnum(a,n)        wattrnum(stdscr,a,n)
  1403. X
  1404. X#ifdef OLDCURSES
  1405. X#ifdef NOPROMOTE
  1406. X#define A_BOLD        0
  1407. X#define A_BLINK        0
  1408. X#define A_REVERSE    1
  1409. X#define A_DIM        0
  1410. X#define A_STANDOUT    1
  1411. X#define A_UNDERLINE    0
  1412. X#else /* NOPROMOTE */
  1413. X#define A_BOLD        1
  1414. X#define A_BLINK        1
  1415. X#define A_REVERSE    1
  1416. X#define A_DIM        1
  1417. X#define A_STANDOUT    1
  1418. X#define A_UNDERLINE    1
  1419. X#endif /* NOPROMOTE */
  1420. X#endif /* OLDCURSES */
  1421. X
  1422. X#ifdef OLDCURSES
  1423. Xtypedef char chtype
  1424. X#endif /* OLDCURSES */
  1425. X
  1426. X#ifdef ACS_HLINE
  1427. X#define VERT        (chtype)0
  1428. X#define HORZ        (chtype)0
  1429. X#else /* ACS_HLINE */
  1430. X#define VERT        (chtype)'|'
  1431. X#define HORZ        (chtype)'-'
  1432. X#define ACS_VLINE    (chtype)'|'
  1433. X#define ACS_HLINE    (chtype)'-'
  1434. X#endif /* ACS_HLINE */
  1435. X
  1436. X#define BEL        7
  1437. X#define BS        8
  1438. X#define ESC        27
  1439. X#define DEL        127
  1440. SHAR_EOF
  1441. if test 1404 -ne "`wc -c < 'misc.h'`"
  1442. then
  1443.     echo shar: "error transmitting 'misc.h'" '(should have been 1404 characters)'
  1444. fi
  1445. fi
  1446. echo shar: "extracting 'modem.h'" '(1538 characters)'
  1447. if test -f 'modem.h'
  1448. then
  1449.     echo shar: "will not over-write existing file 'modem.h'"
  1450. else
  1451. sed 's/^X//' << \SHAR_EOF > 'modem.h'
  1452. X/*
  1453. X * The modem and TTY databases.  The first 3 elements make up the TTY
  1454. X * database, the next 16 make up the modem database.  A "tname" in common
  1455. X * with a "mname" link the two together.
  1456. X */
  1457. X
  1458. X#define NUM_TTY        10
  1459. X#define NUM_MODEM    10
  1460. X
  1461. Xstruct MODEM {
  1462. X    char    *tty[NUM_TTY];        /* TTY names */
  1463. X    char    *tname[NUM_TTY];    /* modem name */
  1464. X    int    init_sp[NUM_TTY];    /* initialization baud rate */
  1465. X
  1466. X    char    *mname[NUM_MODEM];    /* modem name (matches tname above) */
  1467. X    char    *init[NUM_MODEM];    /* initialization */
  1468. X    char    *dial[NUM_MODEM];    /* dial command */
  1469. X    char    *suffix[NUM_MODEM];    /* dialing command suffix */
  1470. X    char    *hang_up[NUM_MODEM];    /* hang up the modem */
  1471. X    char    auto_baud[NUM_MODEM];    /* should we sync baud rates? */
  1472. X    char    *con_3[NUM_MODEM];    /* 300 baud connect message */
  1473. X    char    *con_12[NUM_MODEM];    /* 1200 baud connect message */
  1474. X    char    *con_24[NUM_MODEM];    /* 2400 baud connect message */
  1475. X    char    *con_48[NUM_MODEM];    /* 4800 baud connect message */
  1476. X    char    *con_96[NUM_MODEM];    /* 9600 baud connect message */
  1477. X    char    *con_192[NUM_MODEM];    /* 19200 baud connect message */
  1478. X    char    *no_con1[NUM_MODEM];    /* no connect #1 */
  1479. X    char    *no_con2[NUM_MODEM];    /* no connect #2 */
  1480. X    char    *no_con3[NUM_MODEM];    /* no connect #3 */
  1481. X    char    *no_con4[NUM_MODEM];    /* no connect #4 */
  1482. X
  1483. X    int    t_entries;        /* number of TTY entries */
  1484. X    int    m_entries;        /* number of modem entries */
  1485. X    int    t_cur;            /* current TTY entry number */
  1486. X    int    m_cur;            /* current modem entry number */
  1487. X
  1488. X    char    *m_path;        /* path to the pcomm.modem file */
  1489. X};
  1490. X
  1491. X#ifndef MAIN
  1492. Xextern struct MODEM *modem;
  1493. X#endif /* MAIN */
  1494. SHAR_EOF
  1495. if test 1538 -ne "`wc -c < 'modem.h'`"
  1496. then
  1497.     echo shar: "error transmitting 'modem.h'" '(should have been 1538 characters)'
  1498. fi
  1499. fi
  1500. echo shar: "extracting 'param.h'" '(2757 characters)'
  1501. if test -f 'param.h'
  1502. then
  1503.     echo shar: "will not over-write existing file 'param.h'"
  1504. else
  1505. sed 's/^X//' << \SHAR_EOF > 'param.h'
  1506. X/*
  1507. X * The standard Pcomm parameters.  Everything can be altered by using one
  1508. X * of Pcomm's menus.  Although editing by hand is not encouraged, the
  1509. X * pcomm.param file is just an ASCII file.
  1510. X */
  1511. X
  1512. X#define MAX_CDELAY    120
  1513. X#define MIN_CDELAY    10
  1514. X#define MAX_PAUSE    120
  1515. X#define MIN_PAUSE    1
  1516. X#define MAX_TIMER    20
  1517. X#define MIN_TIMER    2
  1518. X
  1519. X#define NUM_PARAM    44
  1520. X#define LINE_SET    0
  1521. X#define TERM_SETUP    4
  1522. X#define GEN_SETUP    10
  1523. X#define DELAY_TIMES    19
  1524. X#define ASCII_SETUP    21
  1525. X#define LD_CODES    30
  1526. X#define MACROS        34
  1527. X
  1528. Xstruct PARAM {
  1529. X                /* 0-3 used in ls_menu() */
  1530. X    int    d_baud;            /* default baud rate */
  1531. X    char    d_parity;        /* default parity */
  1532. X    int    d_dbits;        /* default data bits */
  1533. X    int    d_sbits;        /* default stop bits */
  1534. X
  1535. X                /* 4-9 used in term_setup() */
  1536. X    int    hot;            /* the decimal code for the hot key */
  1537. X    char    *ascii_hot;        /* ascii representation of hot key */
  1538. X    char    *d_duplex;        /* default duplex */
  1539. X    char    *flow;            /* flow control */
  1540. X    char    *cr_in;            /* send as carriage return */
  1541. X    char    *cr_out;        /* receive carriage return as */
  1542. X
  1543. X                /* 10-18 used in gen_setup() */
  1544. X    char    *logfile;        /* default log file */
  1545. X    char    *dumpfile;        /* default screen dump file */
  1546. X    char    *strip;            /* strip high bit (translate table) */
  1547. X    char    pause_char;        /* pause char synonym */
  1548. X    char    cr_char;        /* carriage return char synonym */
  1549. X    char    ctrl_char;        /* ctrl char synonym */
  1550. X    char    esc_char;        /* escape char synonym */
  1551. X    char    brk_char;        /* modem break synonym */
  1552. X    char    *abort;            /* destination of aborted downloads */
  1553. X
  1554. X                /* 19-20 used in gen_setup() & delay_times() */
  1555. X    int    c_delay;        /* connect delay time */
  1556. X    int    r_delay;        /* redial delay time */
  1557. X
  1558. X                /* 21-29 used in axfer_setup() */
  1559. X    char    *lecho;            /* echo locally? */
  1560. X    char    *expand;        /* expand blank lines? */
  1561. X    int    cr_delay;        /* carriage return delay (ms) */
  1562. X    char    *pace;            /* pace the output? */
  1563. X    char    *cr_up;            /* send carriage return as */
  1564. X    char    *lf_up;            /* send line feed as */
  1565. X    int    timer;            /* Transfer timeout */
  1566. X    char    *cr_dn;            /* receive carriage return as */
  1567. X    char    *lf_dn;            /* receive line feed as */
  1568. X
  1569. X                /* 30-33 used in d_revise() */
  1570. X    char    *ld_plus;        /* + long distance code */
  1571. X    char    *ld_minus;        /* - long distance code */
  1572. X    char    *ld_at;            /* @ long distance code */
  1573. X    char    *ld_pound;        /* # long distance code */
  1574. X
  1575. X                /* 34-43 used in macro() */
  1576. X    char    *mac_1;            /* shifted 1 macro */
  1577. X    char    *mac_2;            /* shifted 2 macro */
  1578. X    char    *mac_3;            /* shifted 3 macro */
  1579. X    char    *mac_4;            /* shifted 4 macro */
  1580. X    char    *mac_5;            /* shifted 5 macro */
  1581. X    char    *mac_6;            /* shifted 6 macro */
  1582. X    char    *mac_7;            /* shifted 7 macro */
  1583. X    char    *mac_8;            /* shifted 8 macro */
  1584. X    char    *mac_9;            /* shifted 9 macro */
  1585. X    char    *mac_0;            /* shifted 0 macro */
  1586. X
  1587. X    char    *p_path;        /* path to the pcomm.param file */
  1588. X};
  1589. X
  1590. X#ifndef MAIN
  1591. Xextern struct PARAM *param;
  1592. X#endif /* MAIN */
  1593. SHAR_EOF
  1594. if test 2757 -ne "`wc -c < 'param.h'`"
  1595. then
  1596.     echo shar: "error transmitting 'param.h'" '(should have been 2757 characters)'
  1597. fi
  1598. fi
  1599. echo shar: "extracting 'status.h'" '(767 characters)'
  1600. if test -f 'status.h'
  1601. then
  1602.     echo shar: "will not over-write existing file 'status.h'"
  1603. else
  1604. sed 's/^X//' << \SHAR_EOF > 'status.h'
  1605. X/*
  1606. X * The status flags, and other various changeable things.  Obviously
  1607. X * the "config.h" file must appear before this file.
  1608. X */
  1609. X
  1610. X#define MAX_ROW        64
  1611. X#define MAX_COL        128
  1612. X#define PATH        128
  1613. X
  1614. Xstruct STATUS {
  1615. X    int    fd;            /* file descriptor for TTY */
  1616. X    int    add_lf;            /* add <CR> to <LF>? */
  1617. X    int    log;            /* status of log option */
  1618. X    int    print;            /* status of print option */
  1619. X    char    log_path[PATH];        /* data logging file */
  1620. X#ifdef SHAREDMEM
  1621. X    int    clr;            /* flag to clear the screen */
  1622. X    int    row;            /* cursor row position */
  1623. X    int    col;            /* cursor column position */
  1624. X    char    vs[MAX_ROW][MAX_COL+1];    /* the virtual screen */
  1625. X#else /* SHAREDMEM */
  1626. X    char    vs_path[PATH];        /* virtual screen file */
  1627. X#endif /* SHAREDMEM */
  1628. X};
  1629. X
  1630. X#ifndef MAIN
  1631. Xextern struct STATUS *status;
  1632. X#endif /* MAIN */
  1633. SHAR_EOF
  1634. if test 767 -ne "`wc -c < 'status.h'`"
  1635. then
  1636.     echo shar: "error transmitting 'status.h'" '(should have been 767 characters)'
  1637. fi
  1638. fi
  1639. echo shar: "extracting 'vcs.h'" '(330 characters)'
  1640. if test -f 'vcs.h'
  1641. then
  1642.     echo shar: "will not over-write existing file 'vcs.h'"
  1643. else
  1644. sed 's/^X//' << \SHAR_EOF > 'vcs.h'
  1645. X/*
  1646. X * Definitions to support the detection of video command sequences
  1647. X */
  1648. X
  1649. X#define VCS_SIZE    25
  1650. X#define NUM_VCS        9
  1651. X
  1652. X#define HOME        0
  1653. X#define CLR_EOL        1
  1654. X#define CLR_EOS        2
  1655. X#define CLEAR        3
  1656. X#define MV_UP        4
  1657. X#define MV_DOWN        5
  1658. X#define MV_RIGHT    6
  1659. X#define MV_LEFT        7
  1660. X#define MV_DIRECT    8
  1661. X
  1662. X#define YES        1
  1663. X#define NO        0
  1664. X#define MAYBE        (-1)
  1665. SHAR_EOF
  1666. if test 330 -ne "`wc -c < 'vcs.h'`"
  1667. then
  1668.     echo shar: "error transmitting 'vcs.h'" '(should have been 330 characters)'
  1669. fi
  1670. fi
  1671. echo shar: "extracting 'xmodem.h'" '(464 characters)'
  1672. if test -f 'xmodem.h'
  1673. then
  1674.     echo shar: "will not over-write existing file 'xmodem.h'"
  1675. else
  1676. sed 's/^X//' << \SHAR_EOF > 'xmodem.h'
  1677. X/*
  1678. X * Definitions for the xmodem stuff.
  1679. X */
  1680. X
  1681. X#define MAX_ERRORS    10
  1682. X
  1683. X#define SOH        1
  1684. X#define STX        2
  1685. X#define EOT        4
  1686. X#define ACK        6
  1687. X#define NAK        21
  1688. X#define CAN        24
  1689. X#define CTRLZ        26
  1690. X
  1691. X#define PROTOCOLS    7
  1692. X#define XMODEM        0
  1693. X#define XMODEM_1k    1
  1694. X#define MODEM7        2
  1695. X#define YMODEM        3
  1696. X#define YMODEM_G    4
  1697. X#define XASCII        5
  1698. X#define EXTRNL        6
  1699. X
  1700. X#define ABORT        (-1)
  1701. X#define ERROR        (-2)
  1702. X#define CANCEL        (-3)
  1703. X
  1704. X#define CHECKSUM    0
  1705. X#define CRC_CHECKSUM    1
  1706. X#define CRC        2
  1707. X#define NONE        3
  1708. SHAR_EOF
  1709. if test 464 -ne "`wc -c < 'xmodem.h'`"
  1710. then
  1711.     echo shar: "error transmitting 'xmodem.h'" '(should have been 464 characters)'
  1712. fi
  1713. fi
  1714. exit 0
  1715. #    End of shell archive
  1716.  
  1717. -- 
  1718. Please send comp.sources.unix-related mail to rsalz@uunet.uu.net.
  1719.